Serverless API তৈরি করা

Database Tutorials - ডকুমেন্ট ডিবি (DocumentDB) Serverless এবং Lambda Integration |
206
206

Serverless API তৈরি করা এমন একটি প্রক্রিয়া যা আপনাকে সার্ভার পরিচালনা বা কনফিগার করার ঝামেলা ছাড়াই অ্যাপ্লিকেশন ডেভেলপ করতে সক্ষম করে। AWS Lambda এবং Amazon API Gateway এর মাধ্যমে একটি serverless API তৈরি করা যায়। এই কনসেপ্টটি মূলত ক্লাউড কম্পিউটিং পরিবেশে চলে, যেখানে আপনি শুধু কোড লেখেন এবং তা রান করার জন্য কোনও সার্ভার বা ইনফ্রাস্ট্রাকচার ম্যানেজ করার দরকার হয় না।

এখানে AWS ব্যবহারের মাধ্যমে একটি Serverless API তৈরির ধাপ ব্যাখ্যা করা হয়েছে।


প্রথমে কি প্রয়োজন?

  • AWS Account: AWS Lambda, API Gateway, DynamoDB (যদি ডেটাবেস দরকার হয়) ইত্যাদি ব্যবহার করতে হবে, সেগুলোর জন্য একটি অ্যাকাউন্ট থাকতে হবে।
  • IAM Permissions: Lambda এবং API Gateway ব্যবহারের জন্য সঠিক IAM রোল এবং অনুমতি প্রয়োজন।

Step 1: AWS Lambda ফাংশন তৈরি করা

AWS Lambda হলো একটি serverless কম্পিউটিং সেবা যা আপনাকে কোড রান করানোর জন্য কোনো সার্ভার পরিচালনা করতে দেয় না। Lambda ফাংশনগুলি কোডের নির্দিষ্ট টুকরো যা API-এর বেসিক কাজ করতে ব্যবহৃত হয়।

Lambda ফাংশন তৈরি করার ধাপ:

  1. AWS Management Console এ লগইন করুন।
  2. Lambda সার্ভিস নির্বাচন করুন।
  3. Create function নির্বাচন করুন।
  4. Author from Scratch নির্বাচন করুন এবং একটি ফাংশন নাম দিন, যেমন: my-api-function.
  5. একটি Runtime নির্বাচন করুন, যেমন Node.js, Python, অথবা আপনার পছন্দের ভাষা।
  6. Function code সেকশনে আপনার কোড লিখুন।

উদাহরণ: Node.js Lambda ফাংশন:

exports.handler = async (event) => {
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};
  1. Create function ক্লিক করুন। Lambda ফাংশন এখন তৈরি হয়ে গেছে।

Step 2: API Gateway সেটআপ করা

API Gateway ব্যবহার করে আপনি HTTP API তৈরি করতে পারেন যা Lambda ফাংশনকে ট্রিগার করবে। API Gateway আপনার API কে ইন্টারনেটের মাধ্যমে অ্যাক্সেসযোগ্য করে তোলে।

API Gateway তৈরি করার ধাপ:

  1. AWS Management Console এ ফিরে যান এবং API Gateway সার্ভিস নির্বাচন করুন।
  2. Create API ক্লিক করুন।
  3. HTTP API নির্বাচন করুন (অথবা আপনি REST API নির্বাচন করতে পারেন)।
  4. API নাম দিন (যেমন, my-serverless-api), এবং Create API ক্লিক করুন।

Step 3: Lambda ফাংশনকে API Gateway এর সাথে ইন্টিগ্রেট করা

API Gateway-কে Lambda ফাংশনের সাথে সংযুক্ত করতে হলে, API Gateway একটি Lambda Integration সেটআপ করতে হবে।

Lambda Integration করার ধাপ:

  1. API Gateway ড্যাশবোর্ডে যান।
  2. Routes সেকশনে গিয়ে একটি নতুন route তৈরি করুন (যেমন, GET /hello বা POST /data)।
  3. Integration-এ গিয়ে Lambda function নির্বাচন করুন এবং পূর্বে তৈরি করা Lambda ফাংশনটি নির্বাচন করুন।
  4. Deploy বাটনে ক্লিক করুন এবং APIটি ডিপ্লয় করুন।

Step 4: API-এর জন্য Endpoint তৈরি করা

API Gateway ডিপ্লয় করার পর, একটি Invoke URL বা Endpoint URL তৈরি হবে, যা আপনি API কল করার জন্য ব্যবহার করতে পারবেন। উদাহরণস্বরূপ:

https://xyz123.execute-api.us-west-2.amazonaws.com/hello

এই URL এখন অ্যাক্সেসযোগ্য, এবং আপনি এটি ব্যবহার করে Lambda ফাংশনে GET বা POST রিকোয়েস্ট পাঠাতে পারেন।


Step 5: Testing the Serverless API

এখন আপনি API-এর মাধ্যমে Lambda ফাংশনকে ট্রিগার করতে পারেন। আপনি API Gateway এর Test টুল ব্যবহার করতে পারেন বা আপনার API ইন্ডপয়েন্টে HTTP রিকোয়েস্ট পাঠাতে পারেন।

cURL কমান্ড ব্যবহার:

curl https://xyz123.execute-api.us-west-2.amazonaws.com/hello

এটি Lambda ফাংশনকে ট্রিগার করবে এবং Hello from Lambda! মেসেজ ফিরিয়ে দেবে।


Step 6: (Optional) Database Integration

আপনি যদি ডেটাবেস ব্যবহার করতে চান (যেমন DynamoDB), তবে আপনি Lambda ফাংশনে ডেটাবেস কল করতে পারেন। এখানে একটি সাধারণ DynamoDB ইনটিগ্রেশন দেখানো হলো:

Node.js Lambda ফাংশনে DynamoDB সংযোগ:

const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient();

exports.handler = async (event) => {
    const params = {
        TableName: 'my-table',
        Key: {
            'id': event.id
        }
    };

    try {
        const result = await dynamoDb.get(params).promise();
        return {
            statusCode: 200,
            body: JSON.stringify(result.Item),
        };
    } catch (error) {
        return {
            statusCode: 500,
            body: JSON.stringify({ error: 'Could not fetch item' }),
        };
    }
};

Step 7: API Security (Optional)

আপনি API এর জন্য authentication এবং authorization যুক্ত করতে পারেন, যেমন AWS Cognito ব্যবহার করে OAuth 2.0 বা API Keys এর মাধ্যমে। এটি API ব্যবহারের জন্য নিরাপত্তা নিশ্চিত করে।


সারাংশ

Serverless API তৈরি করা AWS Lambda এবং API Gateway এর মাধ্যমে একটি দ্রুত, স্কেলেবল, এবং অব্যাহত API ডেভেলপমেন্ট প্রক্রিয়া নিশ্চিত করে। আপনি শুধু কোড লেখেন এবং তা AWS-এর শক্তিশালী এবং স্কেলেবল প্ল্যাটফর্মে রান করান, সার্ভার পরিচালনা বা ইনফ্রাস্ট্রাকচার সম্পর্কে চিন্তা না করেই। DocumentDB বা DynamoDB এর মতো ডেটাবেস সংযোগের মাধ্যমে আরও কার্যকরী API তৈরি করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion